package ute.mvc.service;

import java.util.List;

import ute.mvc.model.MyClass;
import ute.mvc.model.OpenCourse;
import ute.mvc.model.Subject;
import ute.mvc.model.User;

public interface OpenCourseService {
	public List<OpenCourse> getAllOpenCourse();
	public List<OpenCourse> findOpenCourseByID(String openCourseID);
	public List<Subject> getSubjectByOpenCourseId(String openCourseId);
	public List<User> getLecturerByOpenCourseId(String openCourseId);
	public void addOpenCourse(OpenCourse openCourse);
	public void updateOpenCourse(OpenCourse openCourse);
	public void deleteOpenCourse(OpenCourse openCourse);
	public OpenCourse getOpenCourseById(String openCourseId);
	public OpenCourse getOpenCourseByIdWithListLecturer(String openCourseId);
	public List<Subject> getListAddSubjectByOpenCourseId(String openCourseId);
	public void addSubjectToOpenCourse(String openCourseId, String subjectId);
	public boolean deleteOpenCourses(String[] openCourseIds);
	public boolean deleteClass(String[] classIds);
	public boolean removeSubject(String[] subjectIds, String openCourseId);
	public boolean removeLecturer(String[] lecturerEmails, String openCourseId);
	//Vinh
	public List<MyClass> getAllClass(String openCourseId);
	public List<OpenCourse> getOpenCourseByStudent(User student);
	public MyClass getClass(User student, OpenCourse oCourse);
	//
	public List<User> getListAddLecturerByOpenCourseId(String openCourseId);
	public void addLecturerToOpenCourse(String openCourseId, String[] lecturerIds);
	
	
}
